stepper25 2.2.1
Loading...
Searching...
No Matches
stepper25.h File Reference

This file contains API for Stepper 25 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  stepper25_t
 Stepper 25 Click context object. More...
struct  stepper25_cfg_t
 Stepper 25 Click configuration object. More...

Macros

#define STEPPER25_REG_FAULT   0x00
 Stepper 25 register list.
#define STEPPER25_REG_DIAG1   0x01
#define STEPPER25_REG_DIAG2   0x02
#define STEPPER25_REG_DIAG3   0x03
#define STEPPER25_REG_CTRL1   0x04
#define STEPPER25_REG_CTRL2   0x05
#define STEPPER25_REG_CTRL3   0x06
#define STEPPER25_REG_CTRL4   0x07
#define STEPPER25_REG_CTRL5   0x08
#define STEPPER25_REG_CTRL6   0x09
#define STEPPER25_REG_CTRL7   0x0A
#define STEPPER25_REG_CTRL8   0x0B
#define STEPPER25_REG_CTRL9   0x0C
#define STEPPER25_REG_CTRL10   0x0D
#define STEPPER25_REG_CTRL11   0x0E
#define STEPPER25_REG_CTRL12   0x0F
#define STEPPER25_REG_CTRL13   0x10
#define STEPPER25_REG_INDEX1   0x11
#define STEPPER25_REG_INDEX2   0x12
#define STEPPER25_REG_INDEX3   0x13
#define STEPPER25_REG_INDEX4   0x14
#define STEPPER25_REG_INDEX5   0x15
#define STEPPER25_REG_CUSTOM_CTRL1   0x16
#define STEPPER25_REG_CUSTOM_CTRL2   0x17
#define STEPPER25_REG_CUSTOM_CTRL3   0x18
#define STEPPER25_REG_CUSTOM_CTRL4   0x19
#define STEPPER25_REG_CUSTOM_CTRL5   0x1A
#define STEPPER25_REG_CUSTOM_CTRL6   0x1B
#define STEPPER25_REG_CUSTOM_CTRL7   0x1C
#define STEPPER25_REG_CUSTOM_CTRL8   0x1D
#define STEPPER25_REG_CUSTOM_CTRL9   0x1E
#define STEPPER25_REG_ATQ_CTRL1   0x1F
#define STEPPER25_REG_ATQ_CTRL2   0x20
#define STEPPER25_REG_ATQ_CTRL3   0x21
#define STEPPER25_REG_ATQ_CTRL4   0x22
#define STEPPER25_REG_ATQ_CTRL5   0x23
#define STEPPER25_REG_ATQ_CTRL6   0x24
#define STEPPER25_REG_ATQ_CTRL7   0x25
#define STEPPER25_REG_ATQ_CTRL8   0x26
#define STEPPER25_REG_ATQ_CTRL9   0x27
#define STEPPER25_REG_ATQ_CTRL10   0x28
#define STEPPER25_REG_ATQ_CTRL11   0x29
#define STEPPER25_REG_ATQ_CTRL12   0x2A
#define STEPPER25_REG_ATQ_CTRL13   0x2B
#define STEPPER25_REG_ATQ_CTRL14   0x2C
#define STEPPER25_REG_ATQ_CTRL15   0x2D
#define STEPPER25_REG_ATQ_CTRL16   0x2E
#define STEPPER25_REG_ATQ_CTRL17   0x2F
#define STEPPER25_REG_ATQ_CTRL18   0x30
#define STEPPER25_REG_SS_CTRL1   0x31
#define STEPPER25_REG_SS_CTRL2   0x32
#define STEPPER25_REG_SS_CTRL3   0x33
#define STEPPER25_REG_SS_CTRL4   0x34
#define STEPPER25_REG_SS_CTRL5   0x35
#define STEPPER25_REG_CTRL14   0x3C
#define STEPPER25_FAULT_FAULT   0x80
 Stepper 25 FAULT register setting.
#define STEPPER25_FAULT_SPI_ERROR   0x40
#define STEPPER25_FAULT_UVLO   0x20
#define STEPPER25_FAULT_CPUV   0x10
#define STEPPER25_FAULT_OCP   0x08
#define STEPPER25_FAULT_STL   0x04
#define STEPPER25_FAULT_TF   0x02
#define STEPPER25_FAULT_OL   0x01
#define STEPPER25_CTRL1_EN_OUT_DISABLED   0x00
 Stepper 25 CTRL1 register setting.
#define STEPPER25_CTRL1_EN_OUT_ENABLED   0x80
#define STEPPER25_CTRL1_EN_OUT_MASK   0x80
#define STEPPER25_CTRL1_SR_140_NS   0x00
#define STEPPER25_CTRL1_SR_70_NS   0x40
#define STEPPER25_CTRL1_SR_MASK   0x40
#define STEPPER25_CTRL1_IDX_RST_LOW   0x00
#define STEPPER25_CTRL1_IDX_RST_HIGH   0x20
#define STEPPER25_CTRL1_IDX_RST_MASK   0x20
#define STEPPER25_CTRL1_TOFF_9_5_US   0x00
#define STEPPER25_CTRL1_TOFF_19_US   0x08
#define STEPPER25_CTRL1_TOFF_27_US   0x10
#define STEPPER25_CTRL1_TOFF_35_US   0x18
#define STEPPER25_CTRL1_TOFF_MASK   0x18
#define STEPPER25_CTRL1_DECAY_SLOW   0x00
#define STEPPER25_CTRL1_DECAY_MIXED_30_PCT   0x04
#define STEPPER25_CTRL1_DECAY_MIXED_60_PCT   0x05
#define STEPPER25_CTRL1_DECAY_SMART_DYNAMIC   0x06
#define STEPPER25_CTRL1_DECAY_SMART_RIPPLE   0x07
#define STEPPER25_CTRL1_DECAY_MASK   0x07
#define STEPPER25_CTRL2_DIR_LOW   0x00
 Stepper 25 CTRL2 register setting.
#define STEPPER25_CTRL2_DIR_HIGH   0x80
#define STEPPER25_CTRL2_DIR_MASK   0x80
#define STEPPER25_CTRL2_STEP_LOW   0x00
#define STEPPER25_CTRL2_STEP_HIGH   0x40
#define STEPPER25_CTRL2_STEP_MASK   0x40
#define STEPPER25_CTRL2_SPI_DIR_PIN   0x00
#define STEPPER25_CTRL2_SPI_DIR_BIT   0x20
#define STEPPER25_CTRL2_SPI_DIR_MASK   0x20
#define STEPPER25_CTRL2_SPI_STEP_PIN   0x00
#define STEPPER25_CTRL2_SPI_STEP_BIT   0x10
#define STEPPER25_CTRL2_SPI_STEP_MASK   0x10
#define STEPPER25_CTRL2_MICROSTEP_MODE_FULL_100   0x00
#define STEPPER25_CTRL2_MICROSTEP_MODE_FULL_71   0x01
#define STEPPER25_CTRL2_MICROSTEP_MODE_HALF_NO_CIRC   0x02
#define STEPPER25_CTRL2_MICROSTEP_MODE_HALF   0x03
#define STEPPER25_CTRL2_MICROSTEP_MODE_QUARTER   0x04
#define STEPPER25_CTRL2_MICROSTEP_MODE_1_OVER_8   0x05
#define STEPPER25_CTRL2_MICROSTEP_MODE_1_OVER_16   0x06
#define STEPPER25_CTRL2_MICROSTEP_MODE_1_OVER_32   0x07
#define STEPPER25_CTRL2_MICROSTEP_MODE_1_OVER_64   0x08
#define STEPPER25_CTRL2_MICROSTEP_MODE_1_OVER_128   0x09
#define STEPPER25_CTRL2_MICROSTEP_MODE_1_OVER_256   0x0A
#define STEPPER25_CTRL2_MICROSTEP_MODE_MASK   0x0F
#define STEPPER25_CTRL3_CLR_FLT_LOW   0x00
 Stepper 25 CTRL3 register setting.
#define STEPPER25_CTRL3_CLR_FLT_HIGH   0x80
#define STEPPER25_CTRL3_CLR_FLT_MASK   0x80
#define STEPPER25_CTRL3_LOCK_UNLOCK   0x30
#define STEPPER25_CTRL3_LOCK_LOCK   0x60
#define STEPPER25_CTRL3_LOCK_MASK   0x70
#define STEPPER25_CTRL3_TOCP_1_2_US   0x00
#define STEPPER25_CTRL3_TOCP_2_2_US   0x08
#define STEPPER25_CTRL3_TOCP_MASK   0x08
#define STEPPER25_CTRL3_OCP_MODE_LATCHED   0x00
#define STEPPER25_CTRL3_OCP_MODE_AUTO_RETRY   0x04
#define STEPPER25_CTRL3_OCP_MODE_MASK   0x04
#define STEPPER25_CTRL3_OTSD_MODE_LATCHED   0x00
#define STEPPER25_CTRL3_OTSD_MODE_AUTO_RETRY   0x02
#define STEPPER25_CTRL3_OTSD_MODE_MASK   0x02
#define STEPPER25_CTRL3_TW_REP_DISABLED   0x00
#define STEPPER25_CTRL3_TW_REP_ENABLED   0x01
#define STEPPER25_CTRL3_TW_REP_MASK   0x01
#define STEPPER25_CTRL4_TBLANK_TIME_1_US   0x00
 Stepper 25 CTRL4 register setting.
#define STEPPER25_CTRL4_TBLANK_TIME_1_5_US   0x40
#define STEPPER25_CTRL4_TBLANK_TIME_2_US   0x80
#define STEPPER25_CTRL4_TBLANK_TIME_2_5_US   0xC0
#define STEPPER25_CTRL4_TBLANK_TIME_MASK   0xC0
#define STEPPER25_CTRL4_STL_LRN_DIS   0x00
#define STEPPER25_CTRL4_STL_LRN_EN   0x20
#define STEPPER25_CTRL4_STL_LRN_MASK   0x20
#define STEPPER25_CTRL4_EN_STL_DIS   0x00
#define STEPPER25_CTRL4_EN_STL_EN   0x10
#define STEPPER25_CTRL4_EN_STL_MASK   0x10
#define STEPPER25_CTRL4_STL_REP_DIS   0x00
#define STEPPER25_CTRL4_STL_REP_EN   0x08
#define STEPPER25_CTRL4_STL_REP_MASK   0x08
#define STEPPER25_CTRL4_FRQ_CHG_FILTERED   0x00
#define STEPPER25_CTRL4_FRQ_CHG_NOT_FILTERED   0x04
#define STEPPER25_CTRL4_FRQ_CHG_MASK   0x04
#define STEPPER25_CTRL4_STEP_FRQ_TOL_1_PCT   0x00
#define STEPPER25_CTRL4_STEP_FRQ_TOL_2_PCT   0x01
#define STEPPER25_CTRL4_STEP_FRQ_TOL_4_PCT   0x02
#define STEPPER25_CTRL4_STEP_FRQ_TOL_6_PCT   0x03
#define STEPPER25_CTRL4_STEP_FRQ_TOL_MASK   0x03
#define STEPPER25_CTRL11_TRQ_DAC_100_PCT   0xFF
 Stepper 25 CTRL11 register setting.
#define STEPPER25_CTRL11_TRQ_DAC_87_5_PCT   0xDF
#define STEPPER25_CTRL11_TRQ_DAC_75_PCT   0xBF
#define STEPPER25_CTRL11_TRQ_DAC_62_5_PCT   0x9F
#define STEPPER25_CTRL11_TRQ_DAC_50_PCT   0x7F
#define STEPPER25_CTRL11_TRQ_DAC_37_5_PCT   0x5F
#define STEPPER25_CTRL11_TRQ_DAC_25_PCT   0x3F
#define STEPPER25_CTRL11_TRQ_DAC_12_5_PCT   0x1F
#define STEPPER25_STEP_MODE_FULL_100   0
 Stepper 25 step mode setting.
#define STEPPER25_STEP_MODE_FULL_71   1
#define STEPPER25_STEP_MODE_HALF_NO_CIRC   2
#define STEPPER25_STEP_MODE_HALF   3
#define STEPPER25_STEP_MODE_QUARTER   4
#define STEPPER25_STEP_MODE_1_OVER_8   5
#define STEPPER25_STEP_MODE_1_OVER_16   6
#define STEPPER25_STEP_MODE_1_OVER_32   7
#define STEPPER25_STEP_MODE_1_OVER_64   8
#define STEPPER25_STEP_MODE_1_OVER_128   9
#define STEPPER25_STEP_MODE_1_OVER_256   10
#define STEPPER25_DIR_CCW   0
 Stepper 25 direction setting.
#define STEPPER25_DIR_CW   1
#define STEPPER25_PIN_LOW_LEVEL   0
 Stepper 25 pin logic level setting.
#define STEPPER25_PIN_HIGH_LEVEL   1
#define STEPPER25_SPEED_VERY_SLOW   0
 Stepper 25 device speed settings.
#define STEPPER25_SPEED_SLOW   1
#define STEPPER25_SPEED_MEDIUM   2
#define STEPPER25_SPEED_FAST   3
#define STEPPER25_SPEED_VERY_FAST   4
#define STEPPER25_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
#define STEPPER25_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
#define STEPPER25_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  stepper25_return_value_t { STEPPER25_OK = 0 , STEPPER25_ERROR = -1 }
 Stepper 25 Click return value data. More...

Functions

void stepper25_cfg_setup (stepper25_cfg_t *cfg)
 Stepper 25 configuration object setup function.
err_t stepper25_init (stepper25_t *ctx, stepper25_cfg_t *cfg)
 Stepper 25 initialization function.
err_t stepper25_default_cfg (stepper25_t *ctx)
 Stepper 25 default configuration function.
err_t stepper25_write_reg (stepper25_t *ctx, uint8_t reg, uint8_t data_in)
 Stepper 25 write register function.
err_t stepper25_read_reg (stepper25_t *ctx, uint8_t reg, uint8_t *data_out)
 Stepper 25 read register function.
void stepper25_enable_device (stepper25_t *ctx)
 Stepper 25 enable device function.
void stepper25_disable_device (stepper25_t *ctx)
 Stepper 25 disable device function.
void stepper25_set_direction (stepper25_t *ctx, uint8_t dir)
 Stepper 25 set direction function.
void stepper25_switch_direction (stepper25_t *ctx)
 Stepper 25 switch direction function.
uint8_t stepper25_get_fault_pin (stepper25_t *ctx)
 Stepper 25 get FAULT pin function.
void stepper25_set_step_pin (stepper25_t *ctx, uint8_t state)
 Stepper 25 set STEP pin function.
err_t stepper25_clear_fault (stepper25_t *ctx)
 Stepper 25 clear fault function.
err_t stepper25_enable_output (stepper25_t *ctx)
 Stepper 25 enable output function.
err_t stepper25_disable_output (stepper25_t *ctx)
 Stepper 25 disable output function.
err_t stepper25_set_step_mode (stepper25_t *ctx, uint8_t step_mode)
 Stepper 25 set step mode function.
err_t stepper25_drive_motor (stepper25_t *ctx, uint32_t steps, uint8_t speed)
 Stepper 25 driver motor function.

Detailed Description

This file contains API for Stepper 25 Click Driver.

Enumeration Type Documentation

◆ stepper25_return_value_t

Stepper 25 Click return value data.

Predefined enum values for driver return values.

Enumerator
STEPPER25_OK 
STEPPER25_ERROR